<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>grid</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">grid</h1>
<h2>Purpose</h2>
<p>Grid the convex set.</p>
<h2>Syntax</h2>
<pre class="synopsis">x = grid(Set, N)</pre>
<pre class="synopsis">x = Set.grid(N)</pre>
<h2>Description</h2>
<p></p>
        Gridding of the convex <tt>Set</tt> with respect to <tt>N</tt> linearly scaled gridding points. 
        The output <tt>x</tt> consist of points sorted vertically that belonging to the <tt>Set</tt>.

        The principle of the algorithm is as follows:
        <ol>
            
         <li>Compute outer bounding hypercube.</li>
            
         <li>Grid the hypercube.</li>
            
         <li>Test each point for inclusion in the set, discarding those outside.</li>
        
      </ol>
        Before running the algorithm, consider the number <tt>N</tt> of gridding points. If this number
        is very large then it takes algorithm longer to grid the space because an exhaustive search is 
        done at the last step of the algorithm.        
        
	<h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>Set</tt></td>
<td>
<p></p>Any object derived from the <tt>ConvexSet</tt> class, e.g. <tt>Polyhedron</tt>, <tt>YSet</tt>, ...<p>
	    		Class: <tt>ConvexSet</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>N</tt></td>
<td>
<p></p>The number of gridding point. It specifies with how many elements to scale the interval equidistantly.</td>
</tr>
</tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>x</tt></td>
<td>
<p></p>An array of points sorted vertically. The number of columns specifies the dimension.<p>
	    		Class: <tt>double</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3> The set is given as intersection of two sets. <pre class="programlisting"> x = sdpvar(2,1);  </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> F = [x(1)-x(2)&lt;=1; 0.3*x'*x &lt;= 0.5]; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> Y = YSet(x,F); </pre>
<pre class="programlisting"></pre> Grid the set with 40 gridding points (can take some time). <pre class="programlisting"> x = Y.grid(30); </pre>
<pre class="programlisting"></pre> Plot each point <pre class="programlisting"> plot(x(:,1),x(:,2),'x','MarkerSize',7) </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_1.png" width="60%"></p>
<h3>Example 
				2</h3> We have two polyhedra that intersect<pre class="programlisting"> P(1) = Polyhedron('A',[1 -0.3; 0.5 0.7],'b',[2.3;3.1],'lb',[1;0.4]); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(2) = Polyhedron('A',[1.6 -0.6; 0.2 0.4],'b',[2.1;2.8],'lb',[1.5;0.9]); </pre>
<pre class="programlisting"></pre> Plot the sets <pre class="programlisting"> P.plot </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_2.png" width="60%"></p> Find the intersection and grid it <pre class="programlisting"> Q = intersect(P(1),P(2)); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> x = Q.grid(40); </pre>
<pre class="programlisting"></pre> Plot the grid points of the intersection <pre class="programlisting"> plot(x(:,1),x(:,2),'o','Color','r');axis([1 3.5 0 7]); </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_3.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/grid_img_3.png" width="60%"></p>
<h2>See Also</h2>
<a href="./plot.html">plot</a>, <a href="./fplot.html">fplot</a>, <a href="../@Polyhedron/contains.html">contains</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="isbounded.html" class="button">&#9664;</a>  </td>
<td align="left">isbounded</td>
<td>  </td>
<td align="right">fplot</td>
<td align="right" width="20"><a href="fplot.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
</body>
</html>
